//
// Created by Administrator on 2025/3/18.
//

#include <stdlib.h>
#include "elf_game_data_dao.h"

elf_game_data_t elf_game_data = {0};

// 定义心情范围对应的飘字数据
const elf_game_mood_text_t mood_texts[] = {
        {0, 69,  {"主人，你很久没和我玩咯～", "主人，我们一起来玩耍吧～", "主人，我想你了～"}},
        {70, 89, {"主人，我今天心情不错哦～", "陪我玩一下嘛～", "嘿嘿，我有点开心了～"}},
        {90, 100, {"主人，我今天超开心！", "今天的心情棒极了！", "好喜欢和你在一起～"}}
};

// 数据初始化
void ui_elf_game_data_init(elf_game_data_t *data){
    LOG_INFO_WRAPPER("start");
    data->is_connect_network = true;
    data->current_prop_index = 0;
//    data->is_connect_network = false;
}

prop_data_t *get_prop_info_by_id(int id) {
    for (int i = 0; i < elf_game_data.prop_count; ++i) {
        if (elf_game_data.prop_list[i].id == id) {
            return &elf_game_data.prop_list[i];
        }
    }
    return NULL;
}

void elf_game_add_mood(uint8_t mood){
    if(mood + elf_game_data.mood <= ELF_GAME_MAX_MOOD_VALUE){
        elf_game_data.mood += mood;
    }else{
        elf_game_data.mood = ELF_GAME_MAX_MOOD_VALUE;
    }
}

// 获取对应心情值的飘字
const char *elf_game_get_mood_text(int mood_value) {
    int i;
    for (i = 0; i < sizeof(mood_texts) / sizeof(mood_texts[0]); ++i) {
        if (mood_value >= mood_texts[i].min && mood_value <= mood_texts[i].max) {
            // 取该范围内的随机一条语料
            int index = rand() % ELF_GAME_MOOD_TEXT_COUNT;
            return mood_texts[i].texts[index];
        }
    }
    return "心情未知～"; // 默认情况
}